package rim;

import datatypes.r2.basic.CD;
import datatypes.r2.foundation.BL;

/**
 * Definition of LanguageCommunication:
 * 
 * The language communication capabilities of an Entity.
 * 
 * 语言交际能力的一个实体。
 * 
 * 
 * UsageNotes:
 * 
 * While it may seem on the surface that this class would be restricted in usage
 * to only the LivingSubject subtypes, Devices also have the ability to
 * communicate, such as automated telephony devices that transmit patient
 * information to live operators on a triage line or provide automated
 * laboratory results to clinicians.
 * 
 * 虽然它可能似乎表面上，这个类将使用只限于LivingSubject亚型，设备也有沟通的能力，如自动电话设备，传输病人信息，住在分流线的运营商，
 * 或提供自动化的化验结果临床医生。
 * 
 * 
 * Examples:
 * 
 * A patient who originally came from Mexico may have fluent language
 * capabilities to speak, read and write in Spanish, and rudimentary
 * capabilities in English. A person from Russia may have the capability to
 * communicate equally well in spoken language in Russian, Armenian or
 * Ukrainian, and a preference to speak in Armenian.
 * 
 * 最初从墨西哥来的病人可能有中英文流利的语言能力，说，读，写在西班牙语和基本能力。来自俄罗斯的人可能有能力在口语沟通同样在俄罗斯，亚美尼亚，乌克兰，
 * 亚美尼亚偏好发言。
 * 
 * 
 * @author Obama
 * 
 */
public class LanguageCommunication extends InfrastructureRoot {

	private static final long serialVersionUID = 1L;

	/**
	 * Definition: A language for which the Entity has some level of proficiency
	 * for communication.
	 * 
	 * 一种语言的实体有一些沟通的能力水平。
	 * 
	 * 
	 * UsageNotes:
	 * 
	 * Communication via spoken or written language is not restricted to
	 * LivingSubjects. Devices that communicate with persons using human
	 * language also must specify in which languages they are capable. Automated
	 * voice response systems respond to human language and communicate with
	 * other devices or persons using human language.
	 * 
	 * 通过口头或书面语言沟通不仅限于LivingSubjects的。设备使用人类语言的人沟通，还必须指定语言在他们有能力。
	 * 自动语音应答系统响应人类的语言和与其他设备或使用人类语言的人沟通。
	 * 
	 * 
	 * Rationale:
	 * 
	 * Many individuals and devices have the capability to communicate at
	 * varying levels in multiple languages. This attribute specifies a language
	 * capability that the entity wishes to make known.
	 * 
	 * 许多个人和设备有不同程度多种语言沟通能力。此属性指定该实体希望，使已知的语言能力。
	 * 
	 * 
	 * Examples:
	 * 
	 * Spanish, Italian, German, English, American Sign
	 * 
	 * 西班牙语，意大利语，德语，英语，美国手
	 */
	private CD languageCode;

	/**
	 * Definition: The method of expression of the language
	 * 
	 * 语言的表达方法
	 * 
	 * 
	 * Examples:
	 * 
	 * Expressed spoken, expressed written, expressed signed, received spoken,
	 * received written, received signed
	 * 
	 * 表示口语，书面表达，表达签署，收到发言，收到书面，收到签署
	 * 
	 */
	private CD modeCode;
	/**
	 * Definition: The level of proficiency an Entity has in a particular
	 * language.
	 * 
	 * 在特定的语言水平熟练实体。
	 * 
	 * 
	 * Examples:
	 * 
	 * Excellent, good, fair, poor
	 * 
	 * 优秀，良好，公平，穷人
	 */
	private CD proficiencyLevelCode;

	/**
	 * Definition: An indicator specifying whether the language is preferred by
	 * the entity for the associated mode.
	 * 
	 * 指定首选的语言是否是由实体相关模式的一个指标。
	 */
	private BL preferenceInd;

	private Entity entity;

	public CD getLanguageCode() {
		return languageCode;
	}

	public void setLanguageCode(CD languageCode) {
		this.languageCode = languageCode;
	}

	public CD getModeCode() {
		return modeCode;
	}

	public void setModeCode(CD modeCode) {
		this.modeCode = modeCode;
	}

	public CD getProficiencyLevelCode() {
		return proficiencyLevelCode;
	}

	public void setProficiencyLevelCode(CD proficiencyLevelCode) {
		this.proficiencyLevelCode = proficiencyLevelCode;
	}

	public BL getPreferenceInd() {
		return preferenceInd;
	}

	public void setPreferenceInd(BL preferenceInd) {
		this.preferenceInd = preferenceInd;
	}

	public Entity getEntity() {
		return entity;
	}

	public void setEntity(Entity entity) {
		this.entity = entity;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

}
